home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / redakcyjne / programy / VideoLAN Client (VLC) 1.0.5 / vlc-1.0.5-win32.exe / lua / http / requests / playlist.xml < prev    next >
Extensible Markup Language  |  2010-01-30  |  3KB  |  81 lines

  1. <?xml version="1.0" encoding="utf-8" standalone="yes" ?<?vlc print'>'?>
  2. <?vlc --[[
  3. vim:syntax=lua
  4. <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
  5. <  playlist.xml: VLC media player web interface
  6. < - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
  7. <  Copyright (C) 2005-2006 the VideoLAN team
  8. <  $Id$
  9. <  Authors: Antoine Cellerier <dionoea -at- videolan -dot- org>
  10. <  This program is free software; you can redistribute it and/or modify
  11. <  it under the terms of the GNU General Public License as published by
  12. <  the Free Software Foundation; either version 2 of the License, or
  13. <  (at your option) any later version.
  14. <  This program is distributed in the hope that it will be useful,
  15. <  but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. <  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17. <  GNU General Public License for more details.
  18. <  You should have received a copy of the GNU General Public License
  19. <  along with this program; if not, write to the Free Software
  20. <  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  21. < - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  22. ]] ?>
  23.  
  24. <?vlc
  25. --[[<node id="0" name="Undefined" ro="ro">]]
  26. function print_playlist(item)
  27.   if item.flags.disabled then return end
  28.   if item.children then
  29.     local name = vlc.strings.convert_xml_special_chars(item.name)
  30.     print("<node id=\""..tostring(item.id).."\" name=\""..name.."\" ro=\""..(item.flags.ro and "ro" or "rw").."\">")
  31.     for _, c in ipairs(item.children) do
  32.       print_playlist(c)
  33.     end
  34.     print("</node>")
  35.   else
  36.     local name, path = vlc.strings.convert_xml_special_chars(item.name,item.path or "")
  37.     print("<leaf id='"..tostring(item.id).."' uri='"..path.."' name='"..name.."' ro='"..(item.flags.ro and "ro" or "rw").."' duration='"..tostring(item.duration).."'/>")
  38.   end
  39. end
  40. function a(t,pre)
  41.   local pre = pre or ""
  42.   for k,v in pairs(t) do
  43.     vlc.msg.err(pre..tostring(k).." : "..tostring(v))
  44.     if type(v) == "table" then
  45.       a(v,pre.."  ")
  46.     end
  47.   end
  48. end
  49. --[[
  50. for cat,pl in pairs(p) do
  51.   print("<node id=\"-1\" name=\""..cat.."\" ro=\"ro\">")
  52.   print_playlist(pl)
  53.   print("</node>")
  54. end
  55. --]]
  56. local p
  57. if _GET["search"] then
  58.   if _GET["search"] ~= "" then
  59.     _G.search_key = _GET["search"]
  60.   else
  61.     _G.search_key = nil
  62.   end
  63.   local key = vlc.strings.decode_uri(_GET["search"])
  64.   p = vlc.playlist.search(key)
  65. else
  66.   p = vlc.playlist.get()
  67. end
  68. -- a(p) Uncomment to debug
  69. print_playlist(p)
  70. ?>
  71.  
  72. <?vlc --[[
  73. </node>
  74. <node id="9" name="Nevermind" ro="rw">
  75. <leaf id="10" current="current" uri="file:///mnt/stuff/media/Nirvana/Nevermind/01 - Smells Like Teen Spirit.mp3" name="Smells Like Teen Spirit" ro="rw" duration="-1"/>
  76. ]]?>
  77.